
        
                             - D I S I D E N T S - H A C K  J O U R N A L -

                                               Numero 2
                                                 VII
                                                                    


                                                              





                                

                                TITLE: Explotando el telnet de un Windows 2000 avanced server SP1
                                Author: W3ndig0 
                                DISIDENTS ESPAA 2001 -  LOS FUERA DE LA LEY






-------------------------------------------------------------------------------------------------
------------[ INDICE  ]--------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
----[1.0 ERROR                                                                                  -         
----[2.0 MOTIVO DE LA EXPLOSION                                                                 -                          
----[3.0 CUANDO FUNCIONA                                                                        -                   
----[4.0 DESCRIPCION                                                                            -               
----[5.0 COMENTARIOS                                                                            -               
----[6.0 MAS INFORMACION                                                                        -                   
-------------------------------------------------------------------------------------------------




-------------------------------------------------------------------------------------------------
------------[1.0 ERROR ]-------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------

 Parece ser que a este server tan avanzado se le ha escapado chekear la longitud
de caracteres que entran al buffer del telnet cuando se produce un login.






-------------------------------------------------------------------------------------------------
------------[2.0 MOTIVO DE LA EXPLOSION ]--------------------------------------------------------
-------------------------------------------------------------------------------------------------

 La forma en la que los comandos son enviados en un telnet es caracter a caracter
por ejemplo : USER W3ndig0
 
 La cadena de caracteres (USER w3ndig0) es enviada al server de la siguiente manera
   U S E R W 3 n d i g 0.
 
 Que pasa si se envia una macro-cadena de caracteres? 
 




-------------------------------------------------------------------------------------------------
------------[3.0 CUANDO FUNCIONA ]---------------------------------------------------------------
-------------------------------------------------------------------------------------------------

 Nuestra "victima" debe de estar ejecutando el telnet en texto plano y por supuesto
nos permite realizar logins, ya que es aqui donde esta la debilidad.





-------------------------------------------------------------------------------------------------
------------[4.0 DESCRIPCION ]-------------------------------------------------------------------
-------------------------------------------------------------------------------------------------

       A medida que los caracteres son enviados al server, este los almacena en un buffer,
supuestamente este telnet deberia de tirar a los usuarios que traten de hacer un login con
una linea de caracteres excesivamente grande, el motivo es precisamente evitar que usuarios
mal intencionados puedan producir un buffer-overflow, osea, que la longitud de los datos 
sobrepase la capacidad de almacenamiento del buffer, produciendo un crash del programa, en 
este caso del servicio de telnet.
      
      El error viene cuando el buffer se encuentra de antemando saturado, y derrepente le es
enviada una cadena de aproximandamente 4300 o mas caracteres seguida de un " "<espacio en blanco>
en ese momento se produce el crash.

(ver http://packetstormsecurity.org/advisories/bindview/adv_mstelnet.txt)




-------------------------------------------------------------------------------------------------
------------[5.0 COMENTARIOS ]-------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
 	
	En la busqueda de Bugs, explotables o no, es muy util conocer como son procesadas las cadenas
de texto por los programas que las reciven, es muy facil ver en el caso del telnet como estas son procesadas
ya que van caracter a caracter, podemos suponer que en algun momento el receptor debe de checkear lo que
esta almacenado en el buffer de recepcion para procesarlo y ejecutar en su caso aquellas acciones que
el comando implique, sabemos que el receptor, va metiendo caracter a caracter en su buffer, luego ha de
existir un momento en el que nuestro buffer, sea grande la cadena o no, debe de tenerlo en memoria, para
decidir que hacer con ella, es decir, en todo momento lo que enviamos, pasa por su buffer, se checkea y 
se decide que hacer con el.(teoricamente).

	En este caso vemos que hay una intencion clara de los autores de evitar este problema ya que en efecto
a la hora de enviar cadenas muy grandes, inmediatamente somos rechazados, pero...rechazados si, pero nuestra
cadena entra al buffer, eso quiere decir que todo lo que enviamos, entra, lo cual nos deja el juego de llenar
ese buffer de porqueria, a continuacion, mandar una cadena suficientemente grande como para terminar de saturarlo
y romperlo antes de que el programa decida que hemos mandado algo muy gordo...






-------------------------------------------------------------------------------------------------
------------[6.0 MAS INFORMACION ]---------------------------------------------------------------
-------------------------------------------------------------------------------------------------

http://www.microsoft.com/technet/security/bulletin/ms01-031.asp

para "solucinar el problemilla"

http://www.microsoft.com/Downloads/Release.asp?ReleaseID=30508   

NOTA: Para realizar este articulo me basado en el documento http://packetstormsecurity.org/
advisories/bindview/adv_mstelnet.txt


   


---------------------------------------------------
-       CONTACTA CONMIGO O CON EL TEAM            -
---------------------------------------------------
- NICK:	    W3ndig0                               -
- CARGO:    Director de Disidents Espaa          -    
- MAIL:     w3ndig0disidents@yahoo.com	          -	
- TEAM:     disidents@yahoo.es                    -
---------------------------------------------------



                                                               Disidents Espaa  2001 2 edicion.
-------------------------------------------------------------------------------------------------






                     @@-------               @@---------------  
		    @@----                  @@---------       @@@@@@@@@  
		   @@--     @@@@@--        @@-- @@@@@       @     @@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@-------
              @@@@@@    @@ @@      @@ @@@@@@-  @@      @@@ @    @@  @@-----------------------------
             @@        @@ @@@@@   @@ @@---    @@@@@@   @@ @@   @@  @@@@@--------------
            @@        @@     @@  @@ @@ -     @@       @@ @@   @@      @@----------
             @@@@@@@ @@  @@@@@@ @@   @@@@@@@ @@@@@@@ @@  @@ @@	     @@--------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@------
-------------------------------------------------------------------------